package com.pcbly.web.bean.mail;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import com.pcbly.web.bean.AbstractBaseBean;
import com.pcbly.web.bean.user.UserBean;

public class UserSendMainBean extends AbstractBaseBean {
	/**
	 * 
	 */
	private static final long serialVersionUID = 5435278976064690376L;

	protected String title;

	protected String context;

	protected UserMailBean userMailBean;

	protected String isAttach;
	
	protected String isHTML;
	
	protected String flag;

	protected String attachPath;

	protected Date sendDate;
	
	protected Set<UserSendMailBean> sendTos = new HashSet<UserSendMailBean>(0);
	
	protected Set<UserSendMailBean> sendCCs = new HashSet<UserSendMailBean>(0);
	
	protected Set<UserSendMailBean> sendBCCs = new HashSet<UserSendMailBean>(0);

	protected String[] sendTo;
	protected String[] sendCC;
	protected String[] sendBCC;

	protected UserBean userBean;

	

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getContext() {
		return context;
	}

	public void setContext(String context) {
		this.context = context;
	}

	public UserMailBean getUserMailBean() {
		return userMailBean;
	}

	public void setUserMailBean(UserMailBean userMailBean) {
		this.userMailBean = userMailBean;
	}

	public String getIsAttach() {
		return isAttach;
	}

	public void setIsAttach(String isAttach) {
		this.isAttach = isAttach;
	}

	public String getAttachPath() {
		return attachPath;
	}

	public void setAttachPath(String attachPath) {
		this.attachPath = attachPath;
	}

	public Date getSendDate() {
		return sendDate;
	}

	public void setSendDate(Date sendDate) {
		this.sendDate = sendDate;
	}

	public UserBean getUserBean() {
		return userBean;
	}

	public void setUserBean(UserBean userBean) {
		this.userBean = userBean;
	}

	public String getIsHTML() {
		return isHTML;
	}

	public void setIsHTML(String isHTML) {
		this.isHTML = isHTML;
	}

	public String[] getSendTo() {
		return sendTo;
	}

	public void setSendTo(String[] sendTo) {
		this.sendTo = sendTo;
	}

	public String[] getSendCC() {
		return sendCC;
	}

	public void setSendCC(String[] sendCC) {
		this.sendCC = sendCC;
	}

	public String[] getSendBCC() {
		return sendBCC;
	}

	public void setSendBCC(String[] sendBCC) {
		this.sendBCC = sendBCC;
	}
	
	public Set<UserSendMailBean> getSendTos() {
		return sendTos;
	}

	public void setSendTos(Set<UserSendMailBean> sendTos) {
		this.sendTos = sendTos;
	}

	public Set<UserSendMailBean> getSendCCs() {
		return sendCCs;
	}

	public void setSendCCs(Set<UserSendMailBean> sendCCs) {
		this.sendCCs = sendCCs;
	}

	public Set<UserSendMailBean> getSendBCCs() {
		return sendBCCs;
	}

	public void setSendBCCs(Set<UserSendMailBean> sendBCCs) {
		this.sendBCCs = sendBCCs;
	}

	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		return EqualsBuilder.reflectionEquals(this, object);
	}

	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return HashCodeBuilder.reflectionHashCode(this);
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return ToStringBuilder.reflectionToString(this,
				ToStringStyle.MULTI_LINE_STYLE);
	}

	public void setFlag(String flag) {
		this.flag = flag;
	}

	public String getFlag() {
		return flag;
	}
}
